package com.bf.electroplating.pojo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 预警信息表
 * </p>
 *
 * @author gzd
 * @since 2025-09-19
 */
@Getter
@Setter
@TableName("warning")
@Schema( description = "预警信息表")
public class Warning implements Serializable {

    private static final long serialVersionUID = 1L;

    @Schema( description ="预警ID")
    @TableId("ID")
    private String id;

    @Schema( description ="预警模块（如：污水、废气、安全等）")
    @TableField("MODULE")
    private String module;

    @Schema( description ="预警关联ID（关联具体业务数据ID）")
    @TableField("RELATION_ID")
    private String relationId;

    @Schema( description ="预警所属园区ID")
    @TableField("PARK_ID")
    private String parkId;

    @Schema( description ="预警因子（如：COD、总铬、PH值等）")
    @TableField("WARNING_FACTOR")
    private String warningFactor;

    @Schema( description ="预警值（实际监测值）")
    @TableField("WARNING_VALUE")
    private BigDecimal warningValue;

    @Schema( description ="预警阈值（标准限值）")
    @TableField("WARNING_THRESHOLD")
    private BigDecimal warningThreshold;

    @Schema( description ="预警所属公司ID")
    @TableField("COMPANY_ID")
    private String companyId;

    @Schema( description ="预警类型")
    @TableField("WARNING_TYPE")
    private String warningType;

    @Schema( description ="预警级别")
    @TableField("WARNING_LEVEL")
    private String warningLevel;

    @Schema( description ="预警内容")
    @TableField("WARNING_CONTENT")
    private String warningContent;

    @Schema( description ="预警时间")
    @TableField("WARNING_TIME")
    private LocalDateTime warningTime;

    @Schema( description ="处理状态（0：未处理，1：已处理）")
    @TableField("HANDLE_STATUS")
    private String handleStatus;

    @Schema( description ="处理人")
    @TableField("HANDLE_BY")
    private String handleBy;

    @Schema( description ="处理时间")
    @TableField("HANDLE_TIME")
    private LocalDateTime handleTime;

    @Schema( description ="处理备注")
    @TableField("HANDLE_REMARK")
    private String handleRemark;

    @Schema( description ="创建人")
    @TableField("CREATE_BY")
    private String createBy;

    @Schema( description ="创建时间")
    @TableField("CREATE_TIME")
    private LocalDateTime createTime;

    @Schema( description ="修改人")
    @TableField("UPDATE_BY")
    private String updateBy;

    @Schema( description ="修改时间")
    @TableField("UPDATE_TIME")
    private LocalDateTime updateTime;

    @Schema( description ="逻辑删除标志（0：未删除，1：已删除）")
    @TableField("DEL_FLAG")
    private String delFlag;

    @Schema( description ="公司名称")
    @TableField("COMPANY_NAME")
    private String companyName;

    @Schema( description ="园区名称")
    @TableField("PARK_NAME")
    private String parkName;

    @TableField("MD5_SIGN")
    private String md5Sign;

}
